package com.hpf.tool.interfaces;

/**
 * 回调接口
 * XXX: JDK 1.8 及以上 需要废弃
 * @author houbinfei
 *
 */
public interface ICallable {
	
	/**
	 * 回调接口
	 * @author houbinfei
	 *
	 * @param <I> 输入参数
	 * @param <O> 输出参数
	 */
	interface ICallableIO<I,O>{
		/**
		 * 执行方法
		 * @param <I> input 输入参数
		 */
		O exce(I input);
	}
	/**
	 * 回调接口
	 * @author houbinfei
	 *
	 * @param <I> 输入参数
	 */
	interface ICallableI<I>{
		/**
		 * 执行方法
		 * @param <I> input 输入参数
		 */
		void exce(I input);
	}
	
	/**
	 * 回调接口
	 * @author houbinfei
	 *
	 * @param <O> 输出参数
	 */
	interface ICallableO<O>{
		/**
		 * 执行方法
		 * @return 
		 */
		O exce();
	}
}